package com.yx.xinruitu.dao;

import com.yx.xinruitu.util.ParameterMap;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
public interface StaffDao {
    /**
     * 分页查询试题
     *
     * @param pm
     * @return
     */
    List<ParameterMap> getStaffListByPage(ParameterMap pm);

    /**
     * 查询总数
     *
     * @param pm
     * @return
     */
    Integer getStaffListCount(ParameterMap pm);

    /**
     * 新增人员
     *
     * @param pm
     */
    void saveStaff(ParameterMap pm);

    /**
     * 修改人员
     *
     * @param pm
     */
    void editStaff(ParameterMap pm);

    /**
     * 删除人员
     *
     * @param id
     */
    void delStaff(String id);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    ParameterMap findStaff(String id);

    /**
     * 根据phone查询
     *
     * @param pm
     * @return
     */
    ParameterMap findStaffByPhone(ParameterMap pm);

    /**
     * 更新用户得分
     *
     * @return
     */
    void examCommit(ParameterMap pm);

    /**
     * 更新复赛用户得分
     *
     * @return
     */
    void fs_examCommit(ParameterMap pm);

    /**
     * 保存得分
     *
     * @return
     */
    void saveRecord(ParameterMap pm);

    /**
     * 保存得分
     *
     * @return
     */
    List<ParameterMap> deptlist(ParameterMap pm);

    /**
     * 保存得分
     *
     * @return
     */
    List<ParameterMap> findOrderList(ParameterMap pm);

    /**
     * 初赛排名
     *
     * @return
     */
    List<ParameterMap> cslist(ParameterMap pm);

    /**
     * 查询初赛总数
     *
     * @param pm
     * @return
     */
    Integer csAllCount(ParameterMap pm);

    /**
     * 初赛单位前10排名
     *
     * @return
     */
    List<ParameterMap> csDeptlist(ParameterMap pm);

    /**
     * 查询初赛总数
     *
     * @param pm
     * @return
     */
    Integer csDeptAllCount(ParameterMap pm);

    /**
     * 复赛排名
     *
     * @return
     */
    List<ParameterMap> fslist(ParameterMap pm);

    /**
     * 查询初赛总数
     *
     * @param pm
     * @return
     */
    Integer fsAllCount(ParameterMap pm);

    /**
     * 复赛单位排名
     * 单位排名为复赛成绩前3总和
     *
     * @return
     */
    List<ParameterMap> fsDeptlist(ParameterMap pm);

    /**
     * 查询初赛总数
     *
     * @param pm
     * @return
     */
    Integer fsAllDeptCount(ParameterMap pm);

    /**
     * 复赛单位排名
     * 单位排名为复赛成绩前3总和
     * @return
     */
    List<ParameterMap> fs_Deptlist(ParameterMap pm);
    /**
     * 查询初赛总数
     * @param pm
     * @return
     */
    Integer fs_DeptAllCount(ParameterMap pm);

}
